User interface displaying filtered information

ABSTRACT

A trigger event is set, based on information in an information flow. One or more actions are set to occur in response to occurrence of the trigger event. The information flow is received. The set one or more actions are performed upon occurrence of the trigger event, and a user interface is displayed based on the information flow. The actions include, but are not limited to, filtering display of information from the information flow in response to occurrence of the trigger event.

BACKGROUND

Field

Example aspects of the present invention generally relate to display ofa user interface, and more particularly to a user interface fordisplaying multimedia data that is of relevance to the end user.

Related Art

In the financial industry and other information-intensive environments,it is common for a user to receive information from multiple sources.For example, a stock trader may receive emails with financial news,while also monitoring the stock market average online. To that end, auser might switch between multiple applications or web pages on acomputer to view different data.

However, the received data can often include large amounts ofinformation which is not important enough for the user's attention,delivered too late to be of significant value, or which is simplyirrelevant. Thus, the user is required to sift through large amounts ofdata in the hopes of finding relevant information. Moreover, the user isgenerally unaware of the occurrence of significant events or the releaseof important information. As such, the user must consume significanttime and effort monitoring for important information, and may in somecases miss such information entirely.

BRIEF DESCRIPTION

The example embodiments described herein address the foregoing byproviding systems, apparatuses, methods, and computer program productsfor display of a user interface. A trigger event is set, based oninformation in an information flow. One or more actions are set to occurin response to occurrence of the trigger event. The information flow isreceived. The set one or more actions are performed upon occurrence ofthe trigger event, and a user interface is displayed based on theinformation flow. The actions include, but are not limited to, filteringdisplay of information from the information flow in response tooccurrence of the trigger event.

Further features and advantages, as well as the structure and operation,of various example embodiments of the present invention are described indetail below with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the example embodiments presented hereinwill become more apparent from the detailed description set forth belowwhen taken in conjunction with the drawings.

FIG. 1 is a representative view of a system in which some embodiments ofthe invention may be implemented.

FIG. 2 is a block diagram of a user device for use with various exampleembodiments of the invention.

FIG. 3A is a representative view of an example user interface accordingto the invention.

FIG. 3B is a representative view of example application displaysaccording to the invention.

FIG. 4A is flowchart diagram showing an exemplary procedure forgenerating and modifying a user interface.

FIG. 4B is a representative view of another example user interfaceaccording to the invention.

FIG. 5 is a representative view of still another example user interfaceaccording to the invention.

DETAILED DESCRIPTION I. Overview

The example embodiments of the invention presented herein are directedto apparatuses, methods, and computer program products for displaying auser interface in a trading environment using consumer or professionaldevices. This description is not intended to limit the application ofthe example embodiments presented herein. In fact, after reading thefollowing description, it will be apparent to one skilled in therelevant art(s) how to implement the following example embodiments inalternative environments, such as a services-based environment, a webservices-based environment, etc.

II. Definitions

Some terms are defined below for easy reference. However, it should beunderstood that the defined terms are not rigidly restricted to theirdefinitions. A term may be further defined by its use in other sectionsof this description.

“Consumer” and the like means a consumer, user, client, and/or clientdevice in a marketplace of products and/or services.

“Content” and the like is generally understood to include multimediacontent such as data feeds, videos, television shows, movies, andbroadcasts of various types. Content may be stored on, for example, aBlu-Ray Disc, Compact Disc, Digital Video Disc, floppy disk, mini disk,optical disc, micro-drive, magneto-optical disk, ROM, RAM, EPROM,EEPROM, DRAM, VRAM, flash memory, flash card, magnetic card, opticalcard, nanosystems, molecular memory integrated circuit, RAID, remotedata storage/archive/warehousing, and/or any other type of storagedevice.

“Device” means software, hardware or a combination thereof. A device maysometimes be referred to as an apparatus. Examples of a device includewithout limitation a laptop computer, a database, a server, a display, acomputer mouse, and a hard disk.

“Network” means a connection between any two or more computers, whichpermits the transmission of data. A network may be any combination ofnetworks, including without limitation the Internet, a network ofnetworks, a local area network (e.g., home network, intranet), a widearea network, a wireless network and a cellular network.

“Server” means a software application that provides services to othercomputer programs (and their users), in the same or another computer. Aserver may also refer to the physical computer that has been set asideto run a specific server application. For example, when the softwareApache HTTP Server is used as the web server for a company's website,the computer running Apache is also called the web server. Serverapplications can be divided among server computers over an extremerange, depending upon the workload.

“Software” and “application” mean a computer program that is written ina programming language that may be used by one of ordinary skill in theart. The programming language chosen should be compatible with thecomputer by which the software application is to be executed and, inparticular, with the operating system of that computer. Examples ofsuitable programming languages include without limitation Object Pascal,C, C++, and Java. Further, the functions of some embodiments, whendescribed as a series of steps for a method, could be implemented as aseries of software instructions for being operated by a processor, suchthat the embodiments could be implemented as software, hardware, or acombination thereof. Computer readable media are discussed in moredetail in a separate section below.

“System” means a device or multiple coupled devices. A device is definedabove.

“User device” (e.g., “client”, “client device”, “user computer”) is ahardware system, a software operating system and/or one or more softwareapplication programs. A user device may refer to a single computer or toa network of interacting computers. A user device may be the client partof a client-server architecture. A user device may rely on a server toperform some operations. Examples of a user device include withoutlimitation a personal media device, a portable media player, an iPod™,an iPad™, a laptop computer, a palmtop computer, a smart phone, a cellphone, a mobile phone, a network attached storage (NAS) device, anIBM-type personal computer (PC) having an operating system such asMicrosoft Windows™, an Apple™ computer having an operating system suchas MAC-OS, hardware having a JAVA-OS operating system, and a SunMicrosystems Workstation having a UNIX operating system.

III. System

FIG. 1 is a representative view of a system in which some embodiments ofthe invention may be implemented. As shown in FIG. 1, system 100includes user device 101 coupled to communication network 105. Morespecifically, user device 101 includes input/output interface 102, whichis communicatively coupled to, and provides bi-directional communicationcapability between the user device 101 and multiple other devices, suchas information sources, via communication network 105. Information dataof an information flow is transmitted via network 105, is received byinput/output interface 102 and is forwarded to processor 103 forprocessing. In that regard, information may be transmitted in real-timeor pseudo-real-time over network 105 to user device 101. Moreover,information transmitted over network 105 may include various differenttypes of multimedia data including, for example, live or recorded videoor audio, social networking updates, and market statistics, among manyothers.

While the disclosure refers to a singular “information flow” received atuser device 101, it should be understood that the information flow maylikely include multiple information flows or transmissions from multipleinformation sources connected to network 105. For example, theinformation flow ultimately received at user device 101 may reflect,among others, a news feed from a news source, market tracking statisticsfrom another source, and social media updates from a variety of othersources.

Processor 103 is also communicatively coupled to memory 104, whichcontains program instructions that processor 103 executes to perform,among other tasks, functions associated with displaying a userinterface. Example functions stored in memory 104 and executed byprocessor 103 include receiving an information flow and displaying auser interface, setting a trigger event and actions to occur in responseto the trigger event, and filtering display in response to the trigger,etc.

Memory 104 may also store input data from the information flow, such asstreaming video data or market statistics. In some embodiments, memory104 might further store, for example, information regarding triggerevents for changing or modifying the information flow, contactinformation for individuals or groups to contact in response toinformation in the information flow, network history, etc. Various otherdata may be stored in memory 104.

Processor 103 receives the information flow, e.g., over network 105.Processor 103 displays a user interface based on the information flow,and sets a trigger event based on information in the information flow.One or more actions are set to occur in response to occurrence of thetrigger event. The actions include filtering display of information fromthe information flow in response to occurrence of the trigger event, asdescribed more fully below.

IV. Device

FIG. 2 is a block diagram of a general and/or special purpose computer200, which may be a general and/or special purpose computing device, inaccordance with some of the example embodiments of the invention. Thecomputer 200 may be, for example, a user device, a user computer, aclient computer and/or a server computer, among other things.

The computer 200 may include without limitation a processor device 210,a main memory 225, and an interconnect bus 205. The processor device 210may include without limitation a single microprocessor, or may include aplurality of microprocessors for configuring the computer 200 as amulti-processor system. The main memory 225 stores, among other things,instructions and/or data for execution by the processor device 210. Themain memory 225 may include banks of dynamic random access memory(DRAM), as well as cache memory.

The computer 200 may further include a mass storage device 230,peripheral device(s) 240, portable storage medium device(s) 250, inputcontrol device(s) 280, a graphics subsystem 260, and/or an outputdisplay interface 270. For explanatory purposes, all components in thecomputer 200 are shown in FIG. 2 as being coupled via the bus 205.However, the computer 200 is not so limited. Devices of the computer 200may be coupled via one or more data transport means. For example, theprocessor device 210 and/or the main memory 225 may be coupled via alocal microprocessor bus. The mass storage device 230, peripheraldevice(s) 240, portable storage medium device(s) 250, and/or graphicssubsystem 260 may be coupled via one or more input/output (I/O) buses.The mass storage device 230 may be a nonvolatile storage device forstoring data and/or instructions for use by the processor device 210.The mass storage device 230 may be implemented, for example, with amagnetic disk drive or an optical disk drive. In a software embodiment,the mass storage device 230 is configured for loading contents of themass storage device 230 into the main memory 225.

The portable storage medium device 250 operates in conjunction with anonvolatile portable storage medium, such as, for example, a compactdisc read only memory (CD-ROM), to input and output data and code to andfrom the computer 200. In some embodiments, the software for storinginformation may be stored on a portable storage medium, and may beinputted into the computer 200 via the portable storage medium device250. The peripheral device(s) 240 may include any type of computersupport device, such as, for example, an input/output (I/O) interfaceconfigured to add additional functionality to the computer 200. Forexample, the peripheral device(s) 240 may include a network interfacecard for interfacing the computer 200 with a network 220.

The input control device(s) 280 provide a portion of the user interfacefor a user of the computer 200. The input control device(s) 280 mayinclude a keypad and/or a cursor control device. The keypad may beconfigured for inputting alphanumeric characters and/or other keyinformation. The cursor control device may include, for example, ahandheld controller or mouse, a trackball, a stylus, and/or cursordirection keys. In order to display textual and graphical information,the computer 200 may include the graphics subsystem 260 and the outputdisplay 270. The output display 270 may include a cathode ray tube (CRT)display and/or a liquid crystal display (LCD). The graphics subsystem260 receives textual and graphical information, and processes theinformation for output to the output display 270.

Each component of the computer 200 may represent a broad category of acomputer component of a general and/or special purpose computer.Components of the computer 200 are not limited to the specificimplementations provided here.

V. User Interface

FIG. 3A and FIG. 3B are representative views of an example userinterface according to the disclosure. In that regard, FIG. 3A and FIG.3B depict simplified examples of the user interface and informationdisplayed therein, and it should be understood that the informationdisplayed in the user interface and the arrangement thereof may vary.

In addition, while the disclosure describes the user interface in thecontext of filtering and displaying filtered financial information, itshould be understood that the present disclosure can be applied tovarious other types of information.

As shown in FIG. 3A, user interface 300 includes video section 301,contact section 302, information feed section 303, application workspace304, and trigger notification 305.

Video section 301 is a section of user interface 300 for displaying liveor pre-recorded video and/or audio data, such as video conferences,video calling, video broadcasting (e.g., television and morning calls),and a video presence (e.g., video surveillance of remote tradingenvironment). To that end, video section 301 may use, for example,session initiation protocol (SIP) technology, Real-time TransportProtocol (RTP), or an audio/video coder/decoder (codec). SIP technologygenerally controls multiple communication sessions such as voice andvideo calls over Internet Protocol (IP) by creating, modifying andterminating two-party (unicast) or multiparty (multicast) sessionsconsisting of one or several media streams. The Real-time TransportProtocol (RTP) defines a standardized packet format for delivering audioand video over IP networks. RTP is used extensively to handle streamingmedia, such as telephony, video teleconference applications andweb-based push-to-talk features. A codec is a device or computer programcapable of encoding and/or decoding a digital data stream or signal. Acodec encodes a data stream or signal for transmission, storage orencryption, or decodes it for playback or editing. Codecs are used invideo conferencing, streaming media and video editing applications.

As also shown in FIG. 3A, video section 301 may include multipleselectable video sources, in addition to a main video window fordisplaying a primary or selected source. Thus, for example, a user maybe provided smaller images or video streams representing six selectablevideo windows (the individual smaller videos may or may not be activelyplaying), and the user may select one of the six options for display onthe larger main video window. Additionally, the video section 301 mayprovide icons or selectable objects by which the user can, for example,“pop-out” the video from its docked position in user interface 300,adjust volume, and the like. Moreover, text or other labels may beprovided for different video windows, to aid the user in differentiatingbetween the different video windows.

The view in video section 301 may change in response to user selections,or in response to a trigger event, e.g., a change in a price of afinancial instrument, or based on other information shown in the userinterface. For example, video section 301 might change to display anenlarged video communication from a particular contact in response to atrigger event, and other video options may be minimized or eliminatedentirely. Video section 301 might also include progress indicatorsindicating, for example, the progress of making a call to a particularvideo respondent. Moreover, video section 301 may provide an icon orobject to add additional participants to a video display or broadcast,whereby video of the added participant is added to video section 301.

In one practical example, video section 301 may display multiple videofeeds including trading floors, a television broadcast, and the like. Avideo communication channel may be opened to communicate to one or morepersons, and then additional individuals may be added to the video chat.Documents may also be shared amongst participants. For example, adocument shared from another individual may temporarily replace thevideo feed of that individual in video section 301. Thus, while in videoconference, the user may be provided with the ability to shareapplications or documents on user interface 300 with other users acrossthe network so as to facilitate video and web collaboration.

Contact section 302 is a section of the user interface which providesdisplay of integrated contact information, as well as selectable andfilterable actions for each contact. The contact section 302 integrateslocal, centralized, and customer directories into a common filterableand actionable framework.

As seen in FIG. 3, selectable objects are provided for each individualcontact listed in contact section 302 and may, for example, representdifferent ways of reaching that contact. Thus, for example, iconsdisplayed next to each contact may allow the user to reach that contactvia a dial-tone line/private line, an intercom, an instant message, avideo, or an email. These are represented, respectively, by theselectable icons of a phone, a microphone, a word bubble, a video cameraicon, and an envelope. Other contact options or icons are possible.

Contact section 302 may also provide icons or other selectable objectsto modify the display of contact section 302. For example, icons may beprovided by which a user can select a list of favorite contacts, acontact history (e.g., which contacts have been reached over a certainperiod of time), or a call list. A search window may further be providedwhereby a user can enter names or other information by which to searchthe contact list. Contact section 302 may also provide icons to selectdisplay of smaller contact lists or sub-groups of contacts.

Contact section 302 may further provide a modified view showing detailedinformation for a selected contact (not shown). Thus, for example, if auser selects (e.g., clicks on) a particular contact in the list ofcontacts contact section 302, contact section 302 may change to displaydetailed information solely about that contact. The detailed informationcould include an image of the contact, recent actions by the contactand/or transaction history of the contact (e.g., in a financialenvironment, holdings and trades), and communications history with thecontact, among many others. Moreover, the detailed information displaymay provide selectable objects depicting actions regarding the selectedcontact, such as, for example, contacting the contact, open action itemsregarding the contact, or transactions to propose or make with thecontact. Relevant work associated with a particular contact, filteringof the contact list, or other events may be initiated based on a triggerevent detected in the information flow, as discussed more fully below.

Information feed 303 is a section for displaying information and updatesfrom various sources, including, for example, news sources (e.g.,Reuters™ and Bloomberg™), from instant messaging or other messaging(e.g., Microsoft™ Lync Server/Microsoft™ Office Communications Server),persistent chat with other devices, individuals or groups, output fromreal-time voice analytics (e.g., transcription of a current telephonicsession), and updates or information from social media sources (e.g.,Twitter™, Facebook™, etc), among others. The information may be receivedin real-time or pseudo-real-time.

As shown in FIG. 3A, information feed 303 displays an ongoing list ofinformation, communications and updates from multiple sources, alongwith an icon indicating the type of source. The information may include,for example, emails, instant messages, persistent local or externalchats, voice transcriptions of audio such as a telephone conversation orpre-recording, and social networking posts via Twitter™ or Facebook™,among many others. Information feed 303 may also depict informationregarding the timing of the information, such as when the informationwas posted by the source, as well as text or other display indicatingthe source's affiliation. Information feed 303 may also allow responsesto such communications in the display of information feed 303, such asby displaying a “reply” field associated with each communication, andmay also display replies from other users.

As described more fully below, information feed 303 may be filtered inresponse to a trigger event, such as a stock price reaching a certainvalue.

Information feed 303 may also provide icons or other selectable objectsto modify the display of information feed 303. For example, a searchwindow may further be provided whereby a user can enter names or otherinformation by which to search the information feed. Additionally, anobject may be provided whereby a user can select a pre-set group ofsources or individuals from which to receive information.

Moreover, information feed 303 may provide selectable icons or objectsto allow the user to select which types of information to receive. Forexample, a user may select an icon to receive information only from,e.g., persistent chat, instant messaging, email, Bloomberg™, Twitter™ orvoice transcription.

In one practical example, multiple communication sources can be routedinto a threaded window view in information feed 303. A user may focus onevents and communications in persistent chat by temporarily disablingother communication sources. The user may further switch to an edit modein order to subscribe to a new chat room and configure rules for thatsource, after which the new subscription can add communication events toinformation feed 303.

Application workspace 304 is a display area for various applicationswhich may be used by the user. The application area allows the user toswap applications in the workspace, including to or from other parts ofthe screen where action is required. Applications can be switched to ormade active in response to trigger events, as described more fullybelow. Applications may include, for example, internal applications suchas market communications visualization applications, voice drop/voiceblast/voice forums applications, and financial analysis applications,and line of business applications such as market data applications fromBloomberg™ or Reuters™, and order management systems/executionmanagement systems (OMS/EMS). Numerous other applications are possible.In addition, it may be possible to share a view of applicationscurrently executing in application workspace 304 with other users orgroups on the network.

Additional icons can be provided for each application by which to“pop-out” the application from application workspace 304 to reloadapplication information, to add security to the application, or to movethe application to other positions in the user interface, among others.

Examples of applications which may be displayed in application workspace304 will be described below with respect to FIG. 3B.

In particular, FIG. 3B depicts Bloomberg™ application 351, voicecustomer relations management (CRM) application 352, marketcommunication application 353, sentiment analysis application 354, forumapplication 355, order management application 356, and social networkingapplication 357.

Bloomberg™ application 351, for example, is an application which tracksmarket activity and displays a corresponding graph on applicationworkspace 304, along with statistics about individual stocks (e.g., astock ticker). Voice customer relations management (CRM) application 352allows for counting of voice drops and voice blasts of audio messages toclients or other groups or individuals. Market communication application353 may display a detailed diagram of communications and orders betweenvarious individuals and groups such as customers, coworkers, andaffiliated companies. Sentiment analysis application 354 depicts graphsfor positive and negative sentiment trending of investments based onvoice and other data sources, and forum application 355 providesinformation about upcoming forum events, such as the schedule, title,and coordinator. Order management application 356 depicts transactioninformation, such as the progress of active transactions. Socialnetworking application 357 allows for organizing of contacts intorelevant groups, finding new individuals that could be added to a group,and sharing of multimedia information to and from the defined groups.Custom groups can be actively managed, and/or dynamic smart groups canbe automatically managed. In addition, groups can be shared. The aboveapplications are only examples, and various other applications (e.g.,Microsoft™ Excel, Microsoft™ Word) are possible.

Returning to FIG. 3A, trigger notification 305 allows for a user to seenotifications of triggered events and select trigger events and actionscorresponding to the trigger events. Thus, for example, if multipletrigger events have occurred, the trigger events can be placed in aqueue, and trigger notification 305 allows the user to select a triggerevent so as to perform actions in response to the selected triggerevent. A selected (active) trigger event may be displayed differentlythan the other trigger events. In addition, the trigger toolbar mayprovide information about each trigger via an automatic displaymechanism (e.g., a “roll-over” display), by which the information isdisplayed without manually selecting the associated object. The toolbarmay also allow a user to add additional displays and alerts, edit therollover information, and modify the trigger conditions and alerts.

As mentioned above, each of the above-described sections of userinterface 300 may change in response to trigger events. For example,video section 301, contact section 302, information feed 303 orapplication workspace 304 may be changed in response to the triggerevent. In a financial services environment, for example, a financialinstrument (e.g., a stock) reaching a certain threshold value maytrigger filtering of contacts to those who hold the stock, and filteringof video and the information feed to only those associated with thatstock. These processes will be described more fully below with respectto FIG. 4A to FIG. 5.

VI. Processes

FIG. 4A is a flowchart depicting an exemplary process for displaying auser interface. In that regard, it should be understood that some stepsin the process may be performed continuously, or only as needed, andtherefore that the particular order and sequence of steps might change.

Briefly, in FIG. 4A, a trigger event is set, based on information in aninformation flow. One or more actions are set to occur in response tooccurrence of the trigger event. The information flow is received. Theset one or more actions are performed upon occurrence of the triggerevent, and a user interface is displayed based on the information flow.The actions include filtering display of information from theinformation flow in response to occurrence of the trigger event.

In more detail, in step 401, a trigger event is set based on informationin an information flow, and in step 402, one or more actions are set tooccur in response to occurrence of the trigger event. The actions mayinclude, for example, filtering display of information from theinformation flow in response to occurrence of the trigger event,contacting a person or group via telephone or video conferencing, orswitching a part of the user interface to display to a predeterminedapplication in response to the trigger event. The triggers could also beshared across a team or organization to allow analysis and improvementof strategies.

In that regard, FIG. 4B depicts an example of a user interface by whicha user may set trigger events and corresponding actions. The combinationof a trigger event and an action or actions corresponding thereto may bereferred to as a “rule”.

Specifically, FIG. 4B displays a user interface 450 for setting triggersand corresponding actions. Background 451 serves as a virtual desktop onwhich other elements can be arranged. Window 452 lists text indicating aseries of rules previously created by the user, as well as the rulecurrently being constructed (i.e., trigger 454 and actions 456, 457 and458) on background 451. Library 453 is a set of objects representingtriggers and actions, each of which can be dragged onto background 451for use in constructing a rule. Element interface 455 is a userinterface for customizing the trigger, for example, by selecting athreshold value and whether the trigger is activated above, below, or atthat value.

In the example shown in FIG. 4B, the user has selected a trigger 454 forwhen “price threshold” of a particular financial instrument increasesabove 1.5. The user has also selected actions to occur in response tothe trigger, including filtering of contacts 456 (e.g., to correspond tothose affiliated with the investment at issue), filtering of feed 457(e.g., to filter information feed 303 to only information which pertainsto the investment), and send voice drop 458 (e.g., sending a recordedvoice message to one or more contacts). The user has also selectedremove rule 459 to remove the actions, but has not indicated triggerevents to trigger removal of the rule. Additional user interfaceelements 460 allow the user to share the rule with other users on thenetwork, or to store, delete, or save the rule.

Thus, in this example, an additional user interface is displayed forreceiving selections of trigger events and corresponding actions from apredefined library, selections of at least one trigger event and atleast one corresponding action are received via the additional userinterface, and the trigger event and action are set based on theselections.

While FIG. 4B depicts one example of a user interface, it should beunderstood that the user interface 450 could take other forms. Forexample, the user interface 450 could be implemented as a smallerdrop-down menu from trigger notification 305, as described more fullybelow with respect to FIG. 5.

When multiple trigger events occur, the multiple trigger events can beplaced in a queue, and the user interface can provide inputs by which auser can select a trigger event in the queue to thereby perform thecorresponding action. In FIG. 3A, for example, trigger notification 305may include tabs for each trigger event that has occurred. Moreover, analert or other notification can be provided on the user interface whenthe trigger event has occurred, such as by illuminating or blinking thenewly-indicated tab corresponding to the trigger.

Returning to FIG. 4A, in step 403, the information flow is received. Theinformation flow may include information and content being transferredin real-time or pseudo real-time. For example, the information flow mayinclude video conferences, video calling, video broadcasting (e.g.,television and morning calls), a video presence, communications fromcontacts or additional contact information, emails, instant messages,persistent local or external chats, voice transcriptions of audio suchas a telephone conversation or pre-recording, social networking postsvia Twitter™ or Facebook™, and data associated with various applicationssuch as stock trackers or other statistical analysis, among many others.Thus, the information flow may include data from multiple sources, invarious different multimedia types. The different multimedia types maybe displayed in different portions of the user interface, as describedabove.

In step 404, the information flow may be aggregated, correlated, andorganized in order to tailor the information flow to informationrelevant to the user. To that end, the aggregation and correlationengine may use various technologies to transform aspects of multimediacontent into a common text based format that can be used for furtherprocessing. For example, the subject/title, author/sender, send date,and/or body of Email, Instant Messages, Persistent Chat, Market Data,and Twitter™ Feeds can be placed in a data structure that allows forconsistent searching and retrieval. Non text-based multimedia such astelephone calls or video, can go through a pre-process where the audiois first transcribed into a text, even if just for the above processing,so that it can be aggregated and correlated with the text-based datasources. This can be done in memory to allow for real-time or nearreal-time processing.

In other examples, an aggregation or integration service such asAutonomy™ IDOL may be used to search, gather and organize informationfor the information flow from databases, audio, video or text files orstreams, and to transmit the data to a user device for use in userinterface 300.

Nevertheless, the information flow may include a large amount ofinformation which is irrelevant or less relevant to the user, and whichmight obscure information more important to the user. Accordingly, evenin the absence of a trigger event, the information flow may be filteredto information which is more relevant. More specifically, there may be adetermination of information of relevance in the information flow, andthe information flow may be filtered or tailored such that onlyinformation of relevance is displayed in the user interface. Thedetermination of relevance could be based on, for example, predefineduser selections, whether the information is timely (e.g., receivedwithin a certain recent period of time), or whether the information iscontextual to other information currently being displayed. Moreover,data from the various data sources may be correlated or organized inaccordance with the determination of relevance, such that only relevantinformation from each data source is displayed.

Thus, filtering the information flow permits the user interface todisplay only information of relevance to the user, and to reduce thepossibility that the user is confused, distracted or overwhelmed byirrelevant or untimely data.

In step 405, the set one or more actions are performed upon occurrenceof the trigger event. The actions may include, for example, filteringthe display in user interface 300 to reduce the information from theinformation feed so as to display only information associated with thetrigger event. Thus, in response to a particular stock price increasingpast a certain threshold, the information feed might be filtered to onlyinformation pertaining to that stock, and the contact list could befiltered to only those contacts associated with buying and selling thatstock. Meanwhile, a market communication application could be launchedin order to monitor or perform trades associated with the stock.

In another example, a situation might arise where a market data sourceupdates, and the system notes a trigger event. Accordingly, an activityindicator on a market communication icon may provide a notification to auser, to cause the user to open a larger view (sometimes referred to asa flyout view) of market communication application 353, for example inapplication workspace 304. The user may then select triggers topre-filter a contact list in contact section 302, based on, for example,information from stock tickers. The user may then switch to a contactview in contact section 302 upon occurrence of the selected trigger, andinitiate contact with one or more individuals. The user might thencapture and transcribe the call for sharing this data with other userson the network (e.g., via their communication feed).

In step 406, the user interface is displayed based on the informationflow, and based on the one or more triggers and the correspondingactions. Thus, for example, the user interface 300 as shown in FIG. 3Amay be displayed on a monitor or other display device, with filteringapplied corresponding to one or more trigger events. The user interfacemay be continuously updated and filtered as information is received viathe information flow. In another example, another action may beperformed in response to the trigger event which is not necessarilyrelated to the display of the user interface. For example, other actionssuch as placing a call to a contact or associate could be performedautomatically in response to the trigger event, and in addition to (orindependently from) display of the user interface.

FIG. 5 depicts an example of another user interface for setting triggerevents and corresponding actions.

In particular, FIG. 5 depicts a user interface 500 which drops down fromtrigger notification 305 in user interface 300. In this case, the userhas selected one of the triggers from the trigger notification 305, anda drop-down menu 501 is provided to allow the user to modify thecorresponding rule (i.e., the corresponding trigger event and actions).Thus, for example, the user can select a ticker icon and enter a stocksymbol, and then select a corresponding trigger alert event, e.g., aprice change above or below a certain threshold set by the user. Theuser can additionally set an expiration date for the rule, and selectactions to be performed upon occurrence of the trigger event, such asfiltering contacts in contact section 302, notifying the user via emailor text, opening an application, or other actions customized by theuser.

VII. Computer Readable Medium Implementation

The example embodiments described above such as, for example, thesystems and procedures depicted in or discussed in connection with FIGS.1 to 5, or any part or function thereof, may be implemented by usinghardware, software or a combination of the two. The implementation maybe in one or more computers or other processing systems. Whilemanipulations performed by these example embodiments may have beenreferred to in terms commonly associated with mental operationsperformed by a human operator, no human operator is needed to performany of the operations described herein. In other words, the operationsmay be completely implemented with machine operations. Useful machinesfor performing the operation of the example embodiments presented hereininclude general purpose digital computers or similar devices.

Portions of the example embodiments of the invention may be convenientlyimplemented by using a conventional general purpose computer, aspecialized digital computer and/or a microprocessor programmedaccording to the teachings of the present disclosure, as is apparent tothose skilled in the computer art. Appropriate software coding mayreadily be prepared by skilled programmers based on the teachings of thepresent disclosure.

Some embodiments may also be implemented by the preparation ofapplication-specific integrated circuits, field programmable gatearrays, or by interconnecting an appropriate network of conventionalcomponent circuits.

Some embodiments include a computer program product. The computerprogram product may be a storage medium or media having instructionsstored thereon or therein which can be used to control, or cause, acomputer to perform any of the procedures of the example embodiments ofthe invention. The storage medium may include without limitation afloppy disk, a mini disk, an optical disc, a Blu-ray Disc, a DVD, a CDor CD-ROM, a micro-drive, a magneto-optical disk, a ROM, a RAM, anEPROM, an EEPROM, a DRAM, a VRAM, a flash memory, a flash card, amagnetic card, an optical card, nanosystems, a molecular memoryintegrated circuit, a RAID, remote data storage/archive/warehousing,and/or any other type of device suitable for storing instructions and/ordata.

Stored on any one of the computer readable medium or media, someimplementations include software for controlling both the hardware ofthe general and/or special computer or microprocessor, and for enablingthe computer or microprocessor to interact with a human user or othermechanism utilizing the results of the example embodiments of theinvention. Such software may include without limitation device drivers,operating systems, and user applications. Ultimately, such computerreadable media further includes software for performing example aspectsof the invention, as described above.

Included in the programming and/or software of the general and/orspecial purpose computer or microprocessor are software modules forimplementing the procedures described above.

While various example embodiments of the invention have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It is apparent to persons skilled in therelevant art(s) that various changes in form and detail can be madetherein. Thus, the disclosure should not be limited by any of the abovedescribed example embodiments, but should be defined only in accordancewith the following claims and their equivalents.

In addition, it should be understood that the figures are presented forexample purposes only. The architecture of the example embodimentspresented herein is sufficiently flexible and configurable, such that itmay be utilized and navigated in ways other than that shown in theaccompanying figures.

Further, the purpose of the Abstract is to enable the U.S. Patent andTrademark Office and the public generally, and especially thescientists, engineers and practitioners in the art who are not familiarwith patent or legal terms or phraseology, to determine quickly from acursory inspection the nature and essence of the technical disclosure ofthe application. The Abstract is not intended to be limiting as to thescope of the example embodiments presented herein in any way. It is alsoto be understood that the procedures recited in the claims need not beperformed in the order presented.

The invention claimed is:
 1. A method for displaying a user interface,comprising the steps of: using at least one processor to perform:setting a trigger event based on information in an information flow, thetrigger event being associated with a financial instrument; setting oneor more actions to occur based on occurrence of the trigger event;receiving the information flow; displaying the user interface based onthe information flow, the user interface being segmented into aplurality of sections including (1) a contact section in which contactinformation of a plurality of contacts is displayed and (2) a triggernotification section separate from the other ones of the plurality ofsections, in which one or more trigger notification display iconsrespectively corresponding to each trigger event and indicating therespective trigger event that has occurred are displayed upon occurrenceof the trigger event, wherein in a case that a trigger notificationdisplay icon of the one or more trigger notification display icons isselected, a second user interface drops down from the selected triggernotification display icon, including icons for modifying the triggerevent for the corresponding trigger notification display icon or actionsto be performed for the corresponding trigger event; and performing theset one or more actions upon selection of the trigger notification,wherein the performing the set one or more actions includes (1)filtering display of information from the information flow based onoccurrence of the trigger event and (2) filtering display of the contactinformation so as to display contact information of ones of theplurality of contacts that are associated with the financial instrument.2. The method according to claim 1, wherein the trigger event is thefinancial instrument reaching a threshold value.
 3. The method accordingto claim 1, wherein the set actions include switching a part of the userinterface to display a predetermined application in response to thetrigger event.
 4. The method according to claim 1, wherein theinformation flow includes information of different multimedia types, andwherein the different multimedia types are displayed in differentportions of the user interface.
 5. The method according to claim 1,wherein when multiple trigger events occur, the multiple trigger eventsare placed in a queue, and a plurality of trigger notifications aredisplayed within the trigger notification section, each of the triggernotifications being selectable to cause a corresponding action to beperformed.
 6. The method according to claim 1, wherein the triggernotification is further selectable to cause display of a menu enablingmodification of the one or more actions to occur based on occurrence ofthe trigger event.
 7. The method according to claim 1, wherein theplurality of sections further includes one or more of a video section,an information feed section, and an application workspace, and whereinthe filtering includes reducing the information from the informationfeed displayed in one or more of the plurality of sections of the userinterface so as to display only information associated with the triggerevent.
 8. The method according to claim 1, wherein the actions includecontacting a person or group via telephone or video conferencing.
 9. Themethod according to claim 1, wherein the information flow includesinformation being transferred in real-time or pseudo real-time.
 10. Themethod according to claim 1, further comprising the steps of:determining information of relevance in the information flow; andfiltering the information flow such that only information of relevanceis displayed in the user interface.
 11. An apparatus for displaying auser interface, the apparatus comprising at least one processor, whereinthe processor is configured to: set a trigger event based on informationin an information flow, the trigger event being associated with afinancial instrument; set one or more actions to occur based onoccurrence of the trigger event; receive the information flow; displaythe user interface based on the information flow, the user interfacebeing segmented into a plurality of sections including (1) a contactsection in which contact information of a plurality of contacts isdisplayed and (2) a trigger notification section separate from the otherones of the plurality of sections, in which one or more triggernotification display icons respectively corresponding to each triggerevent and indicating the respective trigger event that has occurred aredisplayed upon occurrence of the trigger event, wherein in a case that atrigger notification display icon of the one or more triggernotification display icons is selected, a second user interface dropsdown from the selected trigger notification display icon, includingicons for modifying the trigger event for the corresponding triggernotification display icon or actions to be performed for thecorresponding trigger event; and perform the set one or more actionsupon selection of the trigger notification, wherein the performing theset one or more actions includes (1) filtering display of informationfrom the information flow based on occurrence of the trigger event and(2) filtering display of the contact information so as to displaycontact information of ones of the plurality of contacts that areassociated with the financial instrument.
 12. The apparatus according toclaim 11, wherein the trigger event is the financial instrument reachinga threshold value.
 13. The apparatus according to claim 11, wherein theset actions include switching a part of the user interface to display apredetermined application in response to the trigger event.
 14. Theapparatus according to claim 11, wherein the information flow includesinformation of different multimedia types, and wherein the differentmultimedia types are displayed in different portions of the userinterface.
 15. The apparatus according to claim 11, wherein whenmultiple trigger events occur, the multiple trigger events are placed ina queue, and a plurality of trigger notifications are displayed withinthe trigger notification section, each of the trigger notificationsbeing selectable to cause a corresponding action to be performed. 16.The apparatus according to claim 11, wherein the trigger notification isfurther selectable to cause display of a menu enabling modification ofthe one or more actions to occur based on occurrence of the triggerevent.
 17. The apparatus according to claim 11, wherein the plurality ofsections further includes one or more of a video section, an informationfeed section, and an application workspace, and wherein the filteringincludes reducing the information from the information feed displayed inone or more of the plurality of sections of the user interface so as todisplay only information associated with the trigger event.
 18. Theapparatus according to claim 11, wherein the actions include contactinga person or group via telephone or video conferencing.
 19. The apparatusaccording to claim 11, wherein the information flow includes informationbeing transferred in real-time or pseudo real-time.
 20. The apparatusaccording to claim 11, wherein the processor is further configured to:determine information of relevance in the information flow; and filterthe information flow such that only information of relevance isdisplayed in the user interface.
 21. A non-transitory computer-readablemedium having stored thereon sequences of instructions, the sequences ofinstructions including instructions, which, when executed by aprocessor, cause the processor to perform: setting a trigger event basedon information in an information flow, the trigger event beingassociated with a financial instrument; setting one or more actions tooccur based on occurrence of the trigger event; receiving theinformation flow; displaying the user interface based on the informationflow, the user interface being segmented into a plurality of sectionsincluding (1) a contact section in which contact information of aplurality of contacts is displayed and (2) a trigger notificationsection separate from the other ones of the plurality of sections, inwhich one or more trigger notification display icons respectivelycorresponding to each trigger event and indicating the respectivetrigger event that has occurred are displayed upon occurrence of thetrigger event, wherein in a case that a trigger notification displayicon of the one or more trigger notification display icons is selected,a second user interface drops down from the selected triggernotification display icon, including icons for modifying the triggerevent for the corresponding trigger notification display icon or actionsto be performed for the corresponding trigger event; and performing theset one or more actions upon selection of the trigger notification,wherein the performing the set one or more actions includes (1)filtering display of information from the information flow based onoccurrence of the trigger event and (2) filtering display of the contactinformation so as to display contact information of ones of theplurality of contacts that are associated with the financial instrument.